package test.com.googlecode.dgwt.client.base;

import java.io.Serializable;
import java.util.Date;
import java.util.Map;

import com.googlecode.dgwt.client.dojo.reflect.DojoBean;
import com.googlecode.dgwt.client.dojo.util.StringMap;

public class POJO implements Serializable, DojoBean {

    private static final long serialVersionUID = 1L;

    private static int genId = 1;
    
    private Integer id;
    
    private String nome;
    
    private Date dataNasc;
    
    private Double salario;
    
    private Character sexo;

    
    public POJO() {
        this.id = genId++;
    }
    
    public POJO(String nome) {
        this();
        this.nome = nome;
    }

    public POJO(String nome, Date dataNasc) {
        this(nome);
        this.dataNasc = dataNasc;
    }

    
    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public Date getDataNasc() {
        return dataNasc;
    }

    public void setDataNasc(Date dataNasc) {
        this.dataNasc = dataNasc;
    }

    public void setSalario(Double salario) {
        this.salario = salario;
    }

    public Double getSalario() {
        return salario;
    }

    public void setSexo(Character sexo) {
        this.sexo = sexo;
    }

    public Character getSexo() {
        return sexo;
    }
    

    public Map<String, Object> toJSON() {
        Map<String, Object> map = new StringMap<Object>();
        map.put("id", id);
        map.put("nome", nome);
        map.put("dataNasc", dataNasc);
        map.put("salario", salario);
        map.put("sexo", sexo);
        return map;
    }

}
